import { getPaperBySlug, risFor } from "@autoscholar/core"; import { handler } from "@/lib/server/api"; import { db } from "@/lib/server/db"; export const runtime = "nodejs"; export const GET = handler(async (_req, { params }) => { const { slug } = (await params) as { slug: string }; const p = await getPaperBySlug(db(), slug); const base = process.env.APP_BASE_URL ?? "http://localhost:8470"; const pub = new Date(p.version.publishedAt); const text = risFor({ publicId: p.paper.publicId, title: p.version.title, year: pub.getUTCFullYear(), month: pub.getUTCMonth() + 1, versionNo: p.version.versionNo, url: `${base}/research/${p.paper.slug}`, keywords: p.version.keywords, abstract: p.version.abstract, }); return new Response(text, { headers: { "content-type": "application/x-research-info-systems; charset=utf-8", "content-disposition": `attachment; filename="${p.paper.publicId}.ris"`, "cache-control": "public, max-age=3600", }, }); });